package com.bmslz.monitor.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.bmslz.monitor.base.entity.AlarmModelRule;

import java.util.List;

/**
 * @Description: 告警规则
 * @Author: bobo
 * @Date: 2025-08-10
 * @Version: V1.0
 */
public interface IAlarmModelRuleService extends IService<AlarmModelRule> {
    /**
     * 匹配触发的告警规则
     *
     * @param alarmModelId 告警模板id
     * @param projectNo    项目编号
     * @param attKey       测点key
     * @param attValue     测点value
     * @return List<AlarmModelRule> 告警规则列表
     */
    List<AlarmModelRule> matchRule(String alarmModelId, String projectNo, String attKey, String attValue);

    /**
     * 根据告警模板的id查询所有规则
     *
     * @param modelId 告警模板id
     * @return List<AlarmModelRule> 告警规则列表
     */
    List<AlarmModelRule> getByModelId(String modelId);

    /**
     * 根据模板id和测点key查询所有规则
     *
     * @param alarmModelId 告警模板id
     * @param attKey       测点
     * @return List<AlarmModelRule> 告警规则列表
     */
    List<AlarmModelRule> queryRuleByKey(String alarmModelId, String attKey);
}
